/**
 * 一种新的数据结构
 * 常用方法
 * 遍历
 * 应用场景
 * WeakMap
 */

// let m=new Map()
// let obj={
//     id:'11'
// }
// m.set(obj,'es')//key 可以为任何类型
// console.log(m);
// console.log(m.get(obj));//es
// // m.delete(obj)
// console.log(m.has(obj));//true
// console.log(m);

// let m=new Map([['as']])
// let m=new Map([
//     ['name','imooc'],
//     ['age',5]
// ])
// m.delete('name')
// console.log(m);

// 遍历
// m.forEach((value,key)=>console.log(value,key))

// for (const [key,value] of m) {
//     console.log(key,value);
// }


// for (const key of m.keys()) {
//     console.log(key);
// }
// for (const key of m.values()) {
//     console.log(key);
// }
// for (const [key,value] of m.entries()) {
//     console.log(key,value);
// }

// meakMap
let vm =new WeakMap()
vm.set([1],2)//key 必须是引用类型
console.log(vm);
// WeakMap不支持clear（）不支持遍历 也是弱引用会被回收

